namespace PowerManage.API.AuditLog;

/// <summary>
/// 审核日志开关特性
/// 用于控制特定Controller或Action是否记录审核日志
/// 这里只负责标记和配置 不做任务业务处理
/// AuditLogAttribute 元数据标记 开销小
/// 如果使用 ActionFilterAttribute，每个标记的Action都会创建额外的过滤器实例
/// </summary>
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false)]
public class AuditLogAttribute : Attribute
{
    /// <summary>
    /// 是否开启记录日志 默认关闭
    /// </summary>
    public bool OpenLog { get; set; } = false;

    /// <summary>
    /// 构造函数
    /// </summary>
    /// <param name="openLog">是否开启日志记录</param>
    public AuditLogAttribute(bool openLog = false)
    {
        OpenLog = openLog;
    }
}